<?php

class Application_Form_CriarAposta extends Zend_Form {
    protected $_email;
    protected $_jogo;
    protected $_bolao;
    protected $_placar_parcial;
    protected $_time_A;
    protected $_time_B;
    protected $_gols_A;
    protected $_gols_B;
    protected $_ordem_gols;
    protected $_botao_submit;
    protected $_botao_remover;
    protected $_placar_final;
    protected $_edicao;

    public function __construct($time_A, $time_B) {
        parent::__construct();

        $this->_time_A = $time_A;
        $this->_time_B = $time_B;
        $this->init();
    }
   
    public function init() {
        $this->setMethod('post');
        $this->montarCampos();
    }

    public function montarCampos() {
        $this->_gols_A = new Zend_Form_Element_Text('gols_time_a');
        $this->_gols_A->setLabel($this->_time_A.':');
        $this->_gols_A->setValue(0);
        $this->_gols_A->setRequired(true);
        $this->_gols_A->addValidator(new Zend_Validate_Digits());
        $this->_gols_A->addValidator(new Zend_Validate_Between(0,10));
        $this->_gols_A->setAttrib('onkeyup', 'verificaIntervalo(this.form.gols_time_a, 0, 10)');
        $this->_gols_A->setAttrib('onsubmit', 'verificaIntervalo(this.form.gols_time_a, 0, 10)');
        $this->addElement($this->_gols_A);
        

        $menos_A = new Zend_Form_Element_Button('menos_A');
        $menos_A->setLabel('-');
        $menos_A->setIgnore(true);
        $menos_A->setAttrib('onclick', 'decrementa(this.form.gols_time_a, 0)');
        $this->addElement($menos_A);

        $mais_A = new Zend_Form_Element_Button('mais_A');
        $mais_A->setLabel('+');
        $mais_A->setIgnore(true);
        $mais_A->setAttrib('onclick', 'incrementa(this.form.gols_time_a, 10)');
        $this->addElement($mais_A);

        // $grupo_a = $this->addDisplayGroup(
        //        array(
        //        'gols_time_a',
        //        'menos_A',
        //        'mais_A',
        //        ),
        //        'placar_a');

        $this->_gols_B = new Zend_Form_Element_Text('gols_time_b');
        $this->_gols_B->setLabel($this->_time_B.':');
        $this->_gols_B->setValue(0);
        $this->_gols_B->setRequired(true);
        $this->_gols_B->addValidator(new Zend_Validate_Digits());
        $this->_gols_B->addValidator(new Zend_Validate_Between(0,10));
        $this->_gols_B->setAttrib('onkeyup', 'verificaIntervalo(this.form.gols_time_b, 0, 10)');
        $this->_gols_B->setAttrib('onsubmit', 'verificaIntervalo(this.form.gols_time_b, 0, 10)');
        $this->addElement($this->_gols_B);        

        $menos_B = new Zend_Form_Element_Button('menos_B');
        $menos_B->setLabel('-');
        $menos_B->setIgnore(true);
        $menos_B->setAttrib('onclick', 'decrementa(this.form.gols_time_b, 0)');
        $this->addElement($menos_B);

        $mais_B = new Zend_Form_Element_Button('mais_B');
        $mais_B->setLabel('+');
        $mais_B->setIgnore(true);
        $mais_B->setAttrib('onclick', 'incrementa(this.form.gols_time_b, 10)');
        $this->addElement($mais_B);

        //$this->addDisplayGroup(
        //        array(
        //        'gols_time_b',
        //        'menos_B',
        //        'mais_B',
        //        ),
        //        'placar_b');

        $this->_ordem_gols = new Zend_Form_Element_Select('ordem_de_gols');
        $this->_ordem_gols->setRegisterInArrayValidator(false);
        $this->_ordem_gols->setLabel('Ordem dos gols:');
        $this->_ordem_gols->setIgnore(true);
        $this->_ordem_gols->setAttrib('size', '6');
        $this->addElement($this->_ordem_gols);

        $sobeGol = new Zend_Form_Element_Button('sobe_gol');
        $sobeGol->setLabel('˄');
        $sobeGol->setAttrib('onclick', 'subirGol(this.form.ordem_de_gols)');
        $this->addElement($sobeGol);

        $desceGol = new Zend_Form_Element_Button('desce_gol');
        $desceGol->setLabel('˅');
        $desceGol->setAttrib('onclick', 'descerGol(this.form.ordem_de_gols)');
        $this->addElement($desceGol);

        $this->_botao_submit = new Zend_Form_Element_Submit('submit');
        $this->_botao_submit->setLabel('Apostar');
        $this->addElement($this->_botao_submit);
		
        $this->_placar_parcial = new Zend_Form_Element_Hidden('placar_parcial');
        $this->addElement($this->_placar_parcial);

        $this->_placar_final = new Zend_Form_Element_Hidden('placar_final');
        $this->addElement($this->_placar_final);
		
   }

    public function setEdicao($flag){
        $this->_edicao = $flag;
        if($this->_edicao == true) {
            $this->_botao_submit->setLabel('Editar Aposta');

            $this->_botao_remover = new Zend_Form_Element_Submit('remove');
            $this->_botao_remover->setLabel('Remover');
            $this->addElement($this->_botao_remover);
        } else {
            $this->_botao_submit->setLabel('Apostar');
        }
    }

    public function getEdicao(){
        return $this->_edicao;
    }

    public function setCampos($gols_A, $gols_B, $ordem_gols){
        $this->_gols_A->setValue($gols_A);
        $this->_gols_B->setValue($gols_B);
        $this->_placar_final->setValue($ordem_gols);
    }

}
